#文档更新，同步更新，脚本控制更新，字段自增等
#更新整个文档，并没有立即删除文档，只是以前文档不可搜索
     PUT /website/blog/123
    {
      "title": "My first blog entry",
      "text":  "I am starting to get the hang of this...",
      "date":  "2014/01/02"
    }

#删除文档
    DELETE /website/blog/123

#处理冲突，版本号不是现在的，请求就失败
     PUT /website/blog/1/_create
     {
       "title": "My first blog entry",
       "text":  "Just trying this out..."
     }

    #文档的_version是1时更新才生效
     PUT /website/blog/1?version=1
     {
      "title": "My first blog entry",
      "text":  "Starting to get the hang of this..."
     }
    #所有更新和删除文档的请求都接受version参数，它可以允许在你的代码中增加乐观锁控制

    #使用外部版本控制系统，处理冲突
    #不再检查_version是否与请求中指定的一致，而是检查是否小于指定的版本
    PUT /website/blog/2?version=5&version_type=external
     {
      "title": "My first external blog entry",
      "text":  "Starting to get the hang of this..."
     }

    #更新这个文档，指定一个新version号码为10,小于5会冲突错误
    PUT /website/blog/2?version=10&version_type=external
    {
      "title": "My first external blog entry",
      "text":  "This is a piece of cake..."
    }

#文档局部更新,文档是不可变的——它们不能被更改，update API遵循相同的规则
#有的字段更新，没有则添加新的字段
    POST /website/blog/1/_update
    {
       "doc" : {
          "tags" : [ "testing" ],
          "views": 0
       }
    }

#使用Groovy脚本更新
    POST /website/blog/1/_update
    {
        "script" : "ctx._source.views+=1"
    }

#使用脚本增加一个新标签<元素>到tags数组
    POST /website/blog/1/_update
    {
      "script":{
        "inline":"ctx._source.tags.add(params.new_tag)",
        "params":{
             "new_tag":"mylove"
        }
      }
    }

#设置ctx.op为delete我们可以根据内容删除文档--删除views等于1的记录
    POST /website/blog/1/_update
    {
      "script":{
        "inline":"ctx.op = ctx._source.views == params.count ? 'delete' : 'none'",
        "params":{
             "count":1
        }
      }
    }

#更新可能不存在的文档，第一次没有时，新建，有的话就给views字段增加1
    POST /website/pageviews/1/_update
    {
       "script" : "ctx._source.views+=1",
       "upsert": {
           "views": 1
       }
    }

#更新和冲突，retry_on_conflict--设置重试次数，如果出错再发送几次，默认0次
    POST /website/pageviews/1/_update?retry_on_conflict=5
    {
       "script" : "ctx._source.views+=1",
       "upsert": {
           "views": 1
       }
    }
    #顺序非常重要的情况
    #last-write-wins接受一个version参数以允许你使用乐观并发控制(optimistic concurrency control)来指定你要更新文档的版本
